body {
  color: #333;
  max-width: 800px;
  margin: auto;
  padding: 1em;
  line-height: 1.5em;
}

/* header and footer areas */
@media (min-width:700px) 
{
.suprahead {
  display: flex; 
  flex-flow: row nowrap;
  justify-content: space-between;
  margin-bottom: 1em;
}
.logo { display: table; }
.logo > span { display: table-row; }
.logo > span > a {
  display: table-cell;
  vertical-align: middle;
}
}
@media (max-width:700px) 
{
.suprahead div { text-align: center; }
.logo { display: block; margin: 0 auto .5em; }
.logo > span { display: inline; }
}
.suprahead {
  margin-top: .5em;
}
.logo > span > a {
  text-decoration: none;
  color: #0062AC;
  font-family: "Linguistics Pro", "Noto Serif", "Georgia", serif;
  font-style: italic;
  font-weight: bold;
}
.menu { padding: 0; }
.menu li { display: inline-block; }
.menu li > a { color: #C8102E; }
.article-meta, .menu a {
  text-decoration: none;
  background: #f7f7f7;
  padding: .2em;
  border-radius: 5px;
}
.logo { font-size: 3.5em; }
h1, h2 { 
  font-weight: normal;
  padding-bottom: 0.1em;
  border-bottom: 1px solid #eee; 
}
h1 { line-height: 1.3em; }
h2 { line-height: 1em; }
h3, h4 { font-weight: bold;}
.article-meta h1, .article-meta h2 { 
  font-weight: normal; 
  font-style: normal;
  border: 0;
}
.noborder { border: 0; }
.terms { font-size: .95em; }
.article-meta, footer { text-align: center; }
h1.title { font-size: 2.25em; }
h2.subtitle { font-size: 1.65em; margin-top: -.5em; margin-bottom: 1em;}
h2.author { font-size: 1.5em; margin-top: -0.5em; }
h2.date { font-size: 1.3em; }
h2.lastmod { font-size: 1.3em; color: #999; margin-top: -0.5em;}
footer a { text-decoration: none; }
.footnotes {font-size: .95em;}
hr {
  border-style: dashed;
  color: #ddd;
}
#TableOfContents, #TOC {
    border: 1px solid #eee;
    border-radius: 5px;
    margin-bottom: 10px;
}

/* pagination */
.pagination { padding-left: 0; text-align: center; }
.pagination li { display: inline; }
.pagination a { padding: 0 .2em; }

/* code */
pre {
  background: #fff; 
  border: 1px solid #ddd;
  overflow-x: auto;
  padding-left: 1em;
  padding-right: 1em;
}
td > pre {
  margin: 0;
  padding: 0;
}
code { 
  background: #f8f8f8; 
  border: 1px solid #DfDfDf;
  border-radius: 2px;
}
pre code { 
  background: none; 
  border: 0;
}

/* misc elements */
img, iframe, video, math { max-width: 100%; }
main { hyphens: auto; }
blockquote {
  background: #fafafa;
  border-left: 5px solid #ccc;
  margin: 0.5em 0;
  padding: .2em 1em;
}
blockquote.nota {
  border-left: 5px solid #89ACD7;
  background-color: #DCF4FF;
}
a {
  text-decoration: none;
  color: #4183C4;
}
a:hover{
  text-decoration: underline;
}

table {
  margin: .6em auto;
  border-collapse: collapse;
  border: 1px solid #ddd;
}
td, th {
  border: 1px solid #ddd;
  padding: .3em .4em;
}
thead, tfoot, tr:nth-child(even) { background: #f5f5f5; }
figure {
  display: table;
  margin: 0.6em auto;
}
figcaption, caption {
  display: table-caption;
  text-align: center;
  caption-side: bottom;
  border-top: 1px solid #ddd;
}

/* self */
p.dixit {
  text-align: right;
  font-size: 0.95em;
}
p.dixit::before {
  content: "— ";
  color: #aaa;
}
.xunre { color: red; border: 1px solid red; }
annotation { outline: 1px dashed red; }

/* clear table (munde tabula) */
table.munde,
table.munde th,
table.munde tr,
table.munde td {
  border:0;
  font-weight: normal;
  background-color: transparent;
}
/* flexible layout */
.flexrow {
  display: flex;
}
.flexrow div {
  display: table
}
.flexrow div:first-child {
  margin-right: .4em;
}
.flexrow div:last-child {
  margin-left: .4em;
}
.flexrow table {
  display: table-cell;
  vertical-align: middle;
}

/* equation con numero */
table.eqconnum {
  width: 100%;
  text-align: center;
}
table.eqconnum > tr > td:last-child,
table.eqconnum > tr > td:first-child {
  width: 5%;
  text-align: right;
}

/* Egyptian Hieroglyphs */
.hiero { font-size: 2.718em; }
.hcartouche {
  border: 1px solid black; 
  border-radius: 1em / 95%;
}
.hcartouche::after {
  content: " ";
  font-size: 100%;
  border-left: 1px solid black;
}
.hcartouche mrow:first-child::before {
  content: "　";
  font-size: 0.5em;
}
.hcartouche mrow:last-child::after {
  content: "　";
  font-size: 0.2em;
}
/* citations */
q {
  quotes: '"' '"' "'" "'";
}
cite {
  font-style: normal;
  quotes: '"' '"';
}
cite::before { content: open-quote; }
cite::after { content: close-quote; }
/* m17n citations */
q:lang(ja) {
  quotes: '「' '」' "『" "』";
}
q:lang(zh) {
  quotes: '“' '”' "‘" "’";
}
cite:lang(en) {
  font-style: italic;
  quotes: none;
}
cite:lang(ja) {
  quotes: "『" "』" '「' '」';
}
cite:lang(zh), cite:lang(zh-Hans) {
  quotes: "《" "》" '〈' '〉';
}
